#include "Map.h"
#include <stdio.h>
#include <string.h>

int main(int argc,char **argv)
{
	if(argc!=2) return 1;

	Map map;
	if(!LoadMap(&map,argv[1])) return 2;

	printf("#include \"../Map.h\"\n");
	printf("\n");

	for(int i=0;i<NUM_MAP_TEXTURES;i++)
	{
		if(strlen(map.texturenames[i])) printf("extern unsigned char %s[];\n",map.texturenames[i]);
	}
	printf("\n");

	printf("static MapTile tiles[%d]=\n",map.w*map.h);
	printf("{\n");

	for(int i=0;i<map.w*map.h;i++)
	{
		printf("\t{%d,%d,%d,%d,%d,%d,%d,{%d,%d,%d,%d}},\n",
		map.tiles[i].floor,map.tiles[i].roof,map.tiles[i].actualroof,map.tiles[i].floorcol,
		map.tiles[i].roofcol,map.tiles[i].darkness,map.tiles[i].gate,
		map.tiles[i].textures[0],map.tiles[i].textures[1],map.tiles[i].textures[2],map.tiles[i].textures[3]);
	}
	printf("};\n");
	printf("\n");
	printf("Map level1={%d,%d,tiles,%d,%d,%d,{",map.w,map.h,map.start_x,map.start_y,map.start_angle);

	for(int i=0;i<NUM_MAP_TEXTURES;i++)
	{
		printf("%s",strlen(map.texturenames[i])?map.texturenames[i]:"0");
		if(i!=NUM_MAP_TEXTURES-1) printf(",");
	}

	printf("}};\n");
}
